{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "QJb3sp4ZCF_O"
   },
   "source": [
    "# Feature Engineering\n",
    "\n",
    "Notebook supporting the [**Do we know our data, as good as we know our tools** talk](https://devoxxuk19.confinabox.com/talk/VEM-8021/Do_we_know_our_data_as_good_as_we_know_our_tools%3F) at [Devoxx UK 2019](http://twitter.com/@DevoxxUK).\n",
    "\n",
    "The contents of the notebook is inspired by many sources.\n",
    "\n",
    "\n",
    "### High-level steps covered:\n",
    "\n",
    "- Find hidden information\n",
    "  - feature extraction\n",
    "  - applying math/statistical functions [DEMO - WALKTHRU]\n",
    "  - apply physics functions\n",
    "- Deal with too much data\n",
    "  - dimensionality reduction\n",
    "  - feature selection [DEMO - WALKTHRU]\n",
    "- Statistical Inference \n",
    "\n",
    "\n",
    "### Resources\n",
    "\n",
    "- [Basic Feature Engineering With Time Series Data in Python](http://machinelearningmastery.com/basic-feature-engineering-time-series-data-python/)\n",
    "- [Zillow Prize - EDA, Data Cleaning & Feature Engineering](https://www.kaggle.com/lauracozma/eda-data-cleaning-feature-engineering)\n",
    "- [Feature-wise transformations](https://distill.pub/2018/feature-wise-transformations)\n",
    "- [tsfresh - tsfresh is used to to extract characteristics from time series](https://tsfresh.readthedocs.io/en/latest/text/introduction.html)\n",
    "- [featuretools - an open source python framework for automated feature engineering](https://github.com/featuretools/featuretools/)\n",
    "- [Synthetic features and outliers notebook](https://colab.research.google.com/notebooks/mlcc/synthetic_features_and_outliers.ipynb?utm_source=mlcc&utm_campaign=colab-external&utm_medium=referral&utm_content=syntheticfeatures-colab&hl=en#scrollTo=jnKgkN5fHbGy)\n",
    "- [Preprocessing data](https://scikit-learn.org/stable/modules/preprocessing.html)\n",
    "- **[Useful cheatsheets](https://github.com/neomatrix369/awesome-ai-ml-dl/blob/master/README-details.md#cheatsheets)**\n",
    "\n",
    "Please refer to the [Slides](http://bit.ly/do-we-know-our-data) for the step here after."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Why?"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Ask all the questions you should ask with regards to the domain and related domains or sub-domains.\n",
    "\n",
    "It is a good idea to know the **why** part of the action, why are we doing what we are doing with the data, see the [five whys](https://en.wikipedia.org/wiki/5_Whys).\n",
    "\n",
    "Some ideas (of course, please come up with your own as well):\n",
    "\n",
    "- To find hidden information\n",
    "- To extract the essence of the data which is representative of the rest\n",
    "of the data\n",
    "- Improve training efficiency: accuracy, speed, good use of resources"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "C8uyqenw17x9"
   },
   "source": [
    "#### Load Your Data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Archive:  boston_housing_dataset.zip\n",
      "  inflating: column.header           \n",
      "  inflating: housing-unclean.csv     \n",
      "  inflating: housing.csv             \n",
      "  inflating: housing.names           \n"
     ]
    }
   ],
   "source": [
    "%%bash\n",
    "if [[ ! -s boston_housing_dataset.zip ]]; then\n",
    "    curl -O -L https://github.com/neomatrix369/awesome-ai-ml-dl/releases/download/v0.1/boston_housing_dataset.zip\n",
    "fi\n",
    "\n",
    "unzip -o boston_housing_dataset.zip"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 967
    },
    "colab_type": "code",
    "id": "8o5QgSW519Ar",
    "outputId": "fad93ebd-1fda-4bba-a68b-5fd974fcef04"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Names and descriptions of the fields of the Boston Housing dataset can be found at\n",
      "https://github.com/jbrownlee/Datasets/blob/master/housing.names\n",
      "\n",
      "1. Title: Boston Housing Data\n",
      "\n",
      "2. Sources:\n",
      "   (a) Origin:  This dataset was taken from the StatLib library which is\n",
      "                maintained at Carnegie Mellon University.\n",
      "   (b) Creator:  Harrison, D. and Rubinfeld, D.L. 'Hedonic prices and the \n",
      "                 demand for clean air', J. Environ. Economics & Management,\n",
      "                 vol.5, 81-102, 1978.\n",
      "   (c) Date: July 7, 1993\n",
      "\n",
      "3. Past Usage:\n",
      "   -   Used in Belsley, Kuh & Welsch, 'Regression diagnostics ...', Wiley, \n",
      "       1980.   N.B. Various transformations are used in the table on\n",
      "       pages 244-261.\n",
      "    -  Quinlan,R. (1993). Combining Instance-Based and Model-Based Learning.\n",
      "       In Proceedings on the Tenth International Conference of Machine \n",
      "       Learning, 236-243, University of Massachusetts, Amherst. Morgan\n",
      "       Kaufmann.\n",
      "\n",
      "4. Relevant Information:\n",
      "\n",
      "   Concerns housing values in suburbs of Boston.\n",
      "\n",
      "5. Number of Instances: 506\n",
      "\n",
      "6. Number of Attributes: 13 continuous attributes (including \"class\"\n",
      "                         attribute \"MEDV\"), 1 binary-valued attribute.\n",
      "\n",
      "7. Attribute Information:\n",
      "\n",
      "    1. CRIM      per capita crime rate by town\n",
      "    2. ZN        proportion of residential land zoned for lots over \n",
      "                 25,000 sq.ft.\n",
      "    3. INDUS     proportion of non-retail business acres per town\n",
      "    4. CHAS      Charles River dummy variable (= 1 if tract bounds \n",
      "                 river; 0 otherwise)\n",
      "    5. NOX       nitric oxides concentration (parts per 10 million)\n",
      "    6. RM        average number of rooms per dwelling\n",
      "    7. AGE       proportion of owner-occupied units built prior to 1940\n",
      "    8. DIS       weighted distances to five Boston employment centres\n",
      "    9. RAD       index of accessibility to radial highways\n",
      "    10. TAX      full-value property-tax rate per $10,000\n",
      "    11. PTRATIO  pupil-teacher ratio by town\n",
      "    12. B        1000(Bk - 0.63)^2 where Bk is the proportion of blacks \n",
      "                 by town\n",
      "    13. LSTAT    % lower status of the population\n",
      "    14. MEDV     Median value of owner-occupied homes in $1000's\n",
      "\n",
      "8. Missing Attribute Values:  None.\n",
      "\n",
      "\n",
      "\n"
     ]
    }
   ],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import seaborn as sns\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "sns.set()\n",
    "\n",
    "names = [line.strip() for line in open(\"column.header\", 'r')]\n",
    "data = pd.read_csv(\"housing.csv\", names=names)\n",
    "\n",
    "print(\"Names and descriptions of the fields of the Boston Housing dataset can be found at\")\n",
    "print(\"https://github.com/jbrownlee/Datasets/blob/master/housing.names\")\n",
    "print(\"\")\n",
    "!cat housing.names"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "let's set a baseline to evaluate our attempts to improve our model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.7261570836552489"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.linear_model import LinearRegression\n",
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "def evaluateModelOnDataset(data):\n",
    "    X_train, X_test, y_train, y_test = train_test_split(data.loc[:, data.columns != 'medv'].values, data[\"medv\"].values, test_size=0.33, random_state=42)\n",
    "    model = LinearRegression()\n",
    "    model.fit(X_train,y_train)\n",
    "    return model.score(X_test,y_test)\n",
    "\n",
    "def evaluateModelOnTrainingAndTestSets(X_train, X_test, y_train, y_test):\n",
    "    model = LinearRegression()\n",
    "    model.fit(X_train,y_train)\n",
    "    return model.score(X_test,y_test)\n",
    "evaluateModelOnDataset(data)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "qIhcY8dYE6QZ"
   },
   "source": [
    "### Find hidden information\n",
    "\n",
    "- feature extraction\n",
    "- applying math/statistical functions\n",
    "- apply physics functions "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "OH3OVpoBJRtl"
   },
   "source": [
    "#### Feature extraction"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "Mm5EsDitJXgQ"
   },
   "source": [
    "- group together sparse classes\n",
    "- create new calculated columns, for e.g. extracting weekday from date\n",
    "- generate relevant labels with the help of results from clustering\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "Mm5EsDitJXgQ"
   },
   "source": [
    "#### Applying math/statistical functions [DEMO - WALKTHRU]\n",
    "\n",
    "- convert to absolute values\n",
    "- apply root mean square\n",
    "- use logarithmic functions\n",
    "- applying rolling mean / stddev / min / max \n",
    "\n",
    "And manage precision of the data!\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We observed earlier than there was a correlation between lstat and medv."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "D8ZA1ghXGNAS"
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(data[\"lstat\"], data[\"medv\"], marker='o')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    ">when we plot lstat (used -lstat in the second plot to make it more obvious) in function of medv, we see an **exponential curve**."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(-data[\"lstat\"], data[\"medv\"], marker='o')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    ">We apply **logarithm function** to it to convert it into a linear correlation and make it easier for our model to pick the correlation."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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ggvB7/cjJycHALBgwQJUVlbizJkzKR9vMlRWVsa9hvf29qKiIr0aEafDc2hqasJHH32EH//4x3C5Ev/Up06dis8++yz2byc+B605TJkyJfb5ypUrcfHiRcdZwwIrV67E//zP/2BwcDDu83T6PijNwenfB8cIvc/nQ3V1NVpbWwEAra2tqK6uTnDbfP7557H/P336ND777DNcccUVKR1rsixduhSvv/46otEoBgYGcPjwYdx66612D0sXTn8OTz/9NE6dOoUdO3YgNzdX9pilS5fil7/8JQDgb3/7G06ePIkbb7wxlcNUhWUO4ufw7rvvwuVyYcqUKakaoioXLlxAb29v7N9HjhzBpEmTUFpaGneck78PrHNw+vfBUY1Huru70djYiOHhYZSUlKCpqQlf+cpXsH79etx333249tpr8fDDD6OjowMulws5OTm47777sHDhQruHHuOxxx7DW2+9hXPnzqGsrAylpaV488034+YQiUSwZcsWtLW1AQDWr18f2xR0AixzcPJzOHPmDOrr6zFr1izk5eUBAKZPn44dO3ZgxYoV+NnPfoYpU6bg4sWLaGxsxOnTp+FyudDQ0ICbb77Z5tFPwDqHu+66C4FAABzHoaioCA899BDmz59v8+gnOHfuHDZs2IBgMAiXy4VJkybh4YcfRk1NTdp8H1jn4OTvA+AwoScIgiDMxzGuG4IgCMIaSOgJgiAyHBJ6giCIDIeEniAIIsMhoScIgshwSOgJgiAyHBJ6giCIDIeEniAIIsP5/5IuH3r2szepAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "data_engineered=data.copy()\n",
    "data_engineered[\"lstat\"]=np.log(data_engineered[\"lstat\"])\n",
    "plt.scatter(data_engineered[\"lstat\"], data_engineered[\"medv\"], marker='o')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "previous accuracy: 0.726157\n",
      "new accuracy: 0.772251\n"
     ]
    }
   ],
   "source": [
    "print(\"previous accuracy: %f\" % evaluateModelOnDataset(data))\n",
    "print(\"new accuracy: %f\" % evaluateModelOnDataset(data_engineered))\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    ">we can gain more than 4% in accuracy with this transformation."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "SEPARsYEJrnn"
   },
   "source": [
    "#### Apply physics functions\n",
    "- Energy\n",
    "- Energy rate\n",
    "- Short Term Average / Long term Avg\n",
    "- Kurtosis\n",
    "- FFT (Fast Fourier Transform)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "SEPARsYEJrnn"
   },
   "source": [
    "#### Feature scaling\n",
    "- Standardization\n",
    "- Normalization\n",
    "- map to uniform / gaussian distribution\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn import preprocessing\n",
    "\n",
    "X_train, X_test, y_train, y_test = train_test_split(data.loc[:, data.columns != 'medv'].values, data[\"medv\"].values, test_size=0.33, random_state=42)\n",
    "X_train_normalized=preprocessing.normalize(X_train)\n",
    "X_test_normalized=preprocessing.normalize(X_test)\n",
    "X_train_standardized=preprocessing.scale(X_train)\n",
    "X_test_standardized=preprocessing.scale(X_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "baseline accuracy: 0.726157\n",
      "new accuracy for standardized data: 0.704179\n",
      "new accuracy for normalized data: 0.739282\n"
     ]
    }
   ],
   "source": [
    "print(\"baseline accuracy: %f\" % evaluateModelOnTrainingAndTestSets(X_train, X_test, y_train, y_test))\n",
    "print(\"new accuracy for standardized data: %f\" % evaluateModelOnTrainingAndTestSets(X_train_standardized, X_test_standardized, y_train, y_test))\n",
    "print(\"new accuracy for normalized data: %f\" % evaluateModelOnTrainingAndTestSets(X_train_normalized, X_test_normalized, y_train, y_test))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    ">We can gain 1% in accuracy with normalization"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "dSdqmARsDwbM"
   },
   "source": [
    "### Deal with too many features / too much data"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "4QO_AyToFPBw"
   },
   "source": [
    "- dimensionality reduction\n",
    "- feature selection"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "kP4yEElUGNhi"
   },
   "source": [
    "#### Dimensionality reduction"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- Factorisation \n",
    "    - PCA Principal Component Analysis\n",
    "- ICA \n",
    "Independent Component Analysis\n",
    "- t-SNE \n",
    "t-Distributed Stochastic Neighbour Embedding\n",
    "- UMAP \n",
    "Uniform Manifold Approximation and Projection"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "Ck3LgHNHKCf5"
   },
   "source": [
    "#### Correlation Between Attributes\n",
    "\n",
    "Correlation refers to the relationship between two variables and how they may or may not change together."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "R5bFngNdFYWF"
   },
   "source": [
    "#### Feature selection [DEMO - WALKTHRU]\n",
    "\n",
    "Manual\n",
    "- Filter out features which are highly correlated.\n",
    "- Plot multi scatter chart \n",
    "- Use correlation table \n",
    "- (might need to remove features which were used for extraction)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> given that it's a small dataset, we are not going to yield much better results by removing too many features."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 1014
    },
    "colab_type": "code",
    "id": "Ps3O65S9hzwn",
    "outputId": "4dfb4962-6f30-43c2-e6cb-483aa365535b"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "          crim     zn  indus   chas    nox     rm    age    dis    rad    tax  ptratio      b  \\\n",
      "crim     1.000 -0.200  0.407 -0.056  0.421 -0.219  0.353 -0.380  0.626  0.583    0.290 -0.385   \n",
      "zn      -0.200  1.000 -0.534 -0.043 -0.517  0.312 -0.570  0.664 -0.312 -0.315   -0.392  0.176   \n",
      "indus    0.407 -0.534  1.000  0.063  0.764 -0.392  0.645 -0.708  0.595  0.721    0.383 -0.357   \n",
      "chas    -0.056 -0.043  0.063  1.000  0.091  0.091  0.087 -0.099 -0.007 -0.036   -0.122  0.049   \n",
      "nox      0.421 -0.517  0.764  0.091  1.000 -0.302  0.731 -0.769  0.611  0.668    0.189 -0.380   \n",
      "rm      -0.219  0.312 -0.392  0.091 -0.302  1.000 -0.240  0.205 -0.210 -0.292   -0.356  0.128   \n",
      "age      0.353 -0.570  0.645  0.087  0.731 -0.240  1.000 -0.748  0.456  0.506    0.262 -0.274   \n",
      "dis     -0.380  0.664 -0.708 -0.099 -0.769  0.205 -0.748  1.000 -0.495 -0.534   -0.232  0.292   \n",
      "rad      0.626 -0.312  0.595 -0.007  0.611 -0.210  0.456 -0.495  1.000  0.910    0.465 -0.444   \n",
      "tax      0.583 -0.315  0.721 -0.036  0.668 -0.292  0.506 -0.534  0.910  1.000    0.461 -0.442   \n",
      "ptratio  0.290 -0.392  0.383 -0.122  0.189 -0.356  0.262 -0.232  0.465  0.461    1.000 -0.177   \n",
      "b       -0.385  0.176 -0.357  0.049 -0.380  0.128 -0.274  0.292 -0.444 -0.442   -0.177  1.000   \n",
      "lstat    0.456 -0.413  0.604 -0.054  0.591 -0.614  0.602 -0.497  0.489  0.544    0.374 -0.366   \n",
      "medv    -0.388  0.360 -0.484  0.175 -0.427  0.695 -0.377  0.250 -0.382 -0.469   -0.508  0.333   \n",
      "\n",
      "         lstat   medv  \n",
      "crim     0.456 -0.388  \n",
      "zn      -0.413  0.360  \n",
      "indus    0.604 -0.484  \n",
      "chas    -0.054  0.175  \n",
      "nox      0.591 -0.427  \n",
      "rm      -0.614  0.695  \n",
      "age      0.602 -0.377  \n",
      "dis     -0.497  0.250  \n",
      "rad      0.489 -0.382  \n",
      "tax      0.544 -0.469  \n",
      "ptratio  0.374 -0.508  \n",
      "b       -0.366  0.333  \n",
      "lstat    1.000 -0.738  \n",
      "medv    -0.738  1.000  \n",
      "\n",
      "A correlation of -1 or 1 shows a full negative (inverse) or positive (direct) correlation respectively.\n",
      "A value of 0 shows no correlation at all.\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7fe4c6729a20>"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x720 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Pairwise Pearson correlations\n",
    "pd.set_option('display.width', 100)\n",
    "pd.set_option('precision', 3)\n",
    "correlations = data.corr(method='pearson')\n",
    "print(correlations)\n",
    "print()\n",
    "print(\"A correlation of -1 or 1 shows a full negative (inverse) or positive (direct) correlation respectively.\") \n",
    "print(\"A value of 0 shows no correlation at all.\")\n",
    "\n",
    "# Generate a mask for the upper triangle\n",
    "mask = np.zeros_like(correlations, dtype=np.bool)\n",
    "mask[np.triu_indices_from(mask)] = True\n",
    "\n",
    "# Set up the matplotlib figure\n",
    "f, ax = plt.subplots(figsize=(10, 10));\n",
    "\n",
    "# Generate a custom diverging colormap\n",
    "cmap = sns.diverging_palette(220, 10, as_cmap=True)\n",
    "\n",
    "# Draw the heatmap with the mask and correct aspect ratio\n",
    "sns.heatmap(correlations, mask=mask, cmap=cmap, vmax=.3, center=0,\n",
    "            square=True, linewidths=.5, cbar_kws={\"shrink\": .5},annot=True)\n",
    "# correlation_matrix = boston.corr().round(2)\n",
    "# annot = True to print the values inside the square\n",
    "# sns.heatmap(correlations, annot=True,mask=mask, cmap=cmap)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    ">The features with high correlations between themselves may lower performances if used together in case of some models (linear regression): \n",
    "- tax and rad (0.91)\n",
    "- dis and nox (-0.77)\n",
    "- dis and indus (-0.71)\n",
    "- dis and age (-0.75)\n",
    "\n",
    ">No feature seems to show any absence of correlation with the target feature"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {
    "colab": {},
    "colab_type": "code",
    "id": "VTwnUrMVLBss"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "baseline: 0.726157\n",
      "accuracy without crim: 0.724202\n",
      "accuracy without zn: 0.714156\n",
      "accuracy without indus: 0.727770            - improvement\n",
      "accuracy without chas: 0.725516\n",
      "accuracy without nox: 0.708281\n",
      "accuracy without rm: 0.686267\n",
      "accuracy without age: 0.729383            - improvement\n",
      "accuracy without dis: 0.689851\n",
      "accuracy without rad: 0.704817\n",
      "accuracy without tax: 0.714122\n",
      "accuracy without ptratio: 0.693525\n",
      "accuracy without b: 0.729646            - improvement\n",
      "accuracy without lstat: 0.687862\n"
     ]
    }
   ],
   "source": [
    "prev_accuracy =evaluateModelOnDataset(data)\n",
    "print(\"baseline: %f\" % prev_accuracy)\n",
    "for feature in data.columns:\n",
    "    if feature!=\"medv\":\n",
    "        new_accuracy=evaluateModelOnDataset(data.loc[:, data.columns != feature])\n",
    "        if new_accuracy > prev_accuracy:\n",
    "            print(\"accuracy without %s: %f            - improvement\" % (feature, new_accuracy))\n",
    "        else: \n",
    "            print(\"accuracy without %s: %f\" % (feature, new_accuracy))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.7336244309845095"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "evaluateModelOnDataset(data.loc[:, (data.columns != \"age\")&(data.columns != \"indus\")&(data.columns != \"b\")])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    ">Results are not obvious, since probably we have a small dataset. \n",
    "\n",
    ">But if we remove age and indus which are highly correlated with dis, we see a small improvement. \n",
    "We can gain less than 1% in accuracy by removing a couple of features."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "R5bFngNdFYWF"
   },
   "source": [
    "Programmatically\n",
    "- Tree based feature selection\n",
    "- Use feature importance from XGBoost or RandomForest\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "accuracy of randomForest on full dataset: 0.975159\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/jeremie/.local/lib/python3.6/site-packages/sklearn/ensemble/forest.py:246: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
      "  \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.ensemble import RandomForestRegressor\n",
    "\n",
    "\n",
    "labels=data.loc[:, data.columns != 'medv'].columns.values\n",
    "\n",
    "model = RandomForestRegressor();\n",
    "model.fit(data[labels],data[\"medv\"].values);\n",
    "print(\"accuracy of randomForest on full dataset: %f\" % model.score(data[labels],data[\"medv\"].values));\n",
    "\n",
    "df_features=pd.DataFrame()\n",
    "df_features[\"feature\"]=labels\n",
    "df_features[\"importance\"]=model.feature_importances_\n",
    "df_features.sort_values(by=\"importance\",inplace=True)\n",
    "\n",
    "y_pos = np.arange(len(df_features))\n",
    "plt.barh(y_pos,df_features[\"importance\"])\n",
    "plt.yticks(y_pos,df_features[\"feature\"])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "baseline: 0.726157\n",
      "with top 3 features: 0.624183\n",
      "with last 2 features removed: 0.714106\n"
     ]
    }
   ],
   "source": [
    "print(\"baseline: %f\" % evaluateModelOnDataset(data[[\"crim\",\"zn\",\"indus\",\"chas\",\"nox\",\"rm\",\"age\",\"dis\",\"rad\",\"tax\",\"ptratio\",\"b\",\"lstat\",\"medv\"]]))\n",
    "print(\"with top 3 features: %f\" % evaluateModelOnDataset(data[[\"lstat\",\"rm\",\"dis\",\"medv\"]]))\n",
    "print(\"with last 2 features removed: %f\" % evaluateModelOnDataset(data.loc[:, (data.columns != 'chas')&(data.columns != 'zn')]))\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    ">We don't get better results by picking the top or removing the last features from Random Forest. It can be explained by the size of the dataset which doesn't require reducing its number of features. \n",
    "\n",
    ">We do observe though that the features we removed earlier (indus, b and age) are among the least important features."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "5OisyWxwGtCa"
   },
   "source": [
    "### Statistical Inference"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "QbsxTd1zGwsh"
   },
   "source": [
    "- [Understanding statistical inference]() [video]\n",
    "- [Four ideas of Statistical Inference](http://www.bristol.ac.uk/medical-school/media/rms/red/4_ideas_of_statistical_inference.html)\n",
    "- [An Introduction to Statistical Learning](http://www-bcf.usc.edu/~gareth/ISL/) [book]\n",
    "- [Statistical Inference](https://www.coursera.org/learn/statistical-inference) [course]\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Preparatory questions to ask"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- Can I create a model from my dataset efficiently given my resources?\n",
    "- How do we make best use of the trial-error process yet get the best out of the dataset / model?\n",
    "- How can I make informed decisions and record them and reuse them in my next iteration?\n",
    "- How can I make sure that the end model is useful to solve my business problem after going through the tedious process?\n",
    "- From the trends we identified previously can we make it simpler for the model to pick and use such information from the dataset?\n",
    "- How can I get the essence out of my original dataset ? Can I express the intuitions I got during the analysis in a more obvious way ?"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "colab_type": "text",
    "id": "5ZVFw4kaHVtO"
   },
   "source": [
    "### Please refer to the [Slides](http://bit.ly/do-you-know-your-data) for the step here after."
   ]
  }
 ],
 "metadata": {
  "colab": {
   "collapsed_sections": [],
   "name": "Feature Engineering (Do we know our data).ipynb",
   "provenance": [],
   "version": "0.3.2"
  },
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
